This invention relates to a process for programming an automation application on an automation equipment programming station. It also relates to such a programming station.
A programming station means computer equipment, particularly a PC type computer that may or may not be connected to the automation equipment to be programmed, and comprising a central processing unit and a program commonly called a programming workshop with which a user interacts to design and generate an automation application program that will be executed on one or several items of automation equipment.
Automation equipment as referred to herein denotes a programmable logic controller, a numerical control or any equipment that may contain and execute an application program controlling an automation application, this automation application for example being in the domain of industrial process automation, building automation or monitoring/control of electrical distribution networks.
This type of automation equipment is composed of a central processing unit (CPU) and at least one input-output coupler connected to sensors and preactuators in the automation application to be controlled. The central processing unit comprises one or more processors, a ROM type memory that is usually not modifiable, or an EEPROM type modifiable memory containing the manufacturer""s program also called the operating system expressed in the manufacturer""s specific language, a RAM memory, and an input-output manager communicating together using a bus. A first area of the RAM memory, also called the volatile memory, contains the user""s program, and a second area contains the data, and particularly images of coupler states and constants related to the user""s program.
The user""s program, also called the application program, checks or controls an automation application by means of inputs-outputs controlled by this application program. The designer creates this program and it is written in one or several graphic automation languages particularly including Ladder Diagrams, Sequential Function Charts, also called Grafcets, Function Block Descriptions or instruction lists. These automation languages are preferably conform with standard IEC1131-3 to facilitate programming by an automation designer who is not necessarily familiar with computer languages. These languages can be used either on a programming station or on an automation equipment.
At the moment, the method of programming an application program developed on a programming station using one or several of the available languages, particularly graphic languages, and defining variables associated with the automation, comprises firstly a xe2x80x9cconfigurationxe2x80x9d step in which the designer precisely determines the complete topological address of each channel and input-output objects used in the application program. This long and tedious operation obliges the designer firstly to manipulate the technical documentation for the different input-output modules of the automation equipment supporting the different channels, and secondly to know the position of each module in the rack(s) of the automation equipment, and thirdly to manipulate the direct topological syntax of the variables associated with the input-output channels of the automation equipment, in the application program.
This programming method also has the disadvantage that it is completely dependent on the physical location of the modules. Thus, since the programming station cannot manipulate symbolic variables representing an input-output channel structure, when the same automation application has to be made for the same type of automation equipment but with a completely different physical location of the input-output modules, the designer of the application program needs to use a different configuration procedure to adapt the implementation of the same application program for the new physical location.
Therefore, the purpose of this invention is to overcome the disadvantages of prior art by proposing a process for programming an automation application capable of manipulating data exchanged between an application program and channels of input-output modules in a symbolic and structured form, and consequently enable the application program to be written before a configuration step, and independently of the automation equipment.
This purpose is achieved by a process for programming an automation application program on an automation equipment programming station that comprises:
a step to define a plurality of structured type objects each representing an input-output channel of an input-output module of the automation equipment, the definition of each structured type including at least one characteristic element corresponding to input-output information exchanged between the input-output module and the application program, and the relative topological address of the input-output information for each element,
a step to write an automation application program, declaring symbolic input-output variables of the application program as an instance of a previously defined structured type object,
a step to configure symbolic input-output variables comprising a definition of the physical location of each input-output module of the automation equipment associated with the symbolic input-output variables of the application program,
a step to automatically interpret the application program to execute it on the automation equipment, comprising a step to replace symbolic input-output variables in the application program by the complete topological address of the corresponding input-output information.
According to another feature, each symbolic variable of the program comprises two fields, a first field composed of a character string chosen by the application program designer, so that a structured type object can be made to correspond with the symbolic variable, and a second field composed of an identification of an element of the structured type object associated with the symbolic variable.
According to another feature, the replacement step comprises:
a step to search for the relative address defined for each structured type element in a table of elements of a structured type object stored on the programming station,
a step to search in a configuration table for the physical location declared for each module that the designer has associated with symbolic input-output variables of the application program,
a step to construct the exact topological address of each symbolic variable of the application program, using interpretation means on the programming station, starting from the relative address and the physical location found.
According to another feature, the step to define structured type objects comprises a step to create a table of structured type object elements comprising a first column containing at least one identification of a characteristic data of the structured type object, a second column containing the elementary data type (EDT) and a third column containing the relative address of the data, and then memorizing this table on portable memory means, for each structured type object.
According to another feature, the table of structured type object elements comprises a fourth column containing a description of the data, and a fifth column containing read or write rights for each data.
According to another feature, the process comprises a step to configure input-output modules comprising a step to select a commercial reference of an input-output module, and assignment of the selected input-output module to a determined physical location, the interpretation step then including a step to check that the input-output module selected at a determined physical location is compatible with the structured type object configured at the same physical location.
A second purpose of the invention is to propose a station for programming an automation application on an automation equipment to manipulate data exchanged between an application program and channels of input-output modules in a symbolic and structured form, and consequently to enable writing the application program before a configuration step, independently of the automation equipment.
This second purpose is achieved by a station for programming an automation equipment comprising means of memorization and display, and means of interaction with an application program designer, characterized in that the programming station comprises a symbolic variables editor to generate a configuration table stored on the memory means, the programming station also includes a plurality of tables of structured type object elements stored on the memory means, and means of interpreting an application program comprising at least one symbolic variable defined by the designer using the editor.
According to another feature, the programming station comprises means of compiling the application program interpreted by interpretation means to transform the interpreted application program into an automation application that can be executed on an automation equipment, the programming station comprising means of transferring the executable automation application onto either portable memory means compatible with the automation equipment, or directly onto the memory means of the automation equipment.